class Solution230 {

   // 计数器 : 中序遍历得到的是 有序的递增 ,  通过计数器, 从小到到大 , 记录当前结点是第几个
    private  int count = 0 ;
    public int kthSmallest(TreeNode root, int k) {
        if(root == null) return -1 ;

        // 左
        int left = kthSmallest(root.left , k) ;
        if(left != -1) return  left ;

        // 中
        // 计数器: 记录当前的 结点是倒数 第几个结点
        count ++;
        // 如果 当前结点是 倒数 第 k 个结点 , 返回
        if(count == k){
            return root.val ;
        }

        // 右
        return kthSmallest(root.right , k) ;
    }

}